package main

import (
	"apibe/chat/v1"
	"apibe/chat/v1/hub"
	"apibe/chat/v1/share/logger"
	"github.com/gin-gonic/gin"
)

// todo 基于grpc的长链接游戏服务器

// 首先：既然是长连接，那么客户端与服务端所有的数据交互应该尽量保证在一个RPC通道里。
// 为避免出现同步问题，引入rabbitMQ作为消息队列。
// 客户端（生产者）-> rabbitMQ -> 服务端 ->
// 对于长连接服务器来说，所有人既是生产者也是消费者
// 对于大多数的长连接游戏来说都有分服的概念，那么 服：就是roomid,角色：userid

func main() {
	// 初始化
	logger.Init()
	hub.Init()
	e := gin.Default()
	v1.All(e)
	err := e.Run(":8889") // :8888
	if err != nil {
		logger.Logger.Panic(err.Error())
	}
}
